﻿using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using HandyControl.Controls;
using HandyControl.Data;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Threading;

namespace 紧缩场反射面装调测试系统.ViewModels
{
    public partial class SystemSettingViewModel : ObservableObject
    {
        [ObservableProperty]
        private SystemConfig? systemConfig;

        [ObservableProperty]
        private ObservableCollection<string> pages = new ObservableCollection<string>() { "仪器设置", "测方向图", "数据处理","结果分析", "系统设置" };

        [RelayCommand]
        public void Reset(object sender)
        {
            SystemManage.SystemConfig.Structure = sender.ToString();
            SaveConfig();
            SystemManage.Init();
            //Refresh();
        }
        //public void Refresh()
        //{
        //    DispatcherFrame frame = new DispatcherFrame();
        //    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
        //        new DispatcherOperationCallback(delegate (object f)
        //        {
        //            ((DispatcherFrame)f).Continue = false;
        //            return null;
        //        }
        //            ), frame);
        //    Dispatcher.PushFrame(frame);
        //}


        [RelayCommand]
        public void SaveConfig()
        {
            try
            {
                SystemManage.SaveConfig();
                GrowlInfo Info = new GrowlInfo();
                Info.Message = "保存配置成功!";
                Info.WaitTime = 1;
                Growl.Success(Info);

            }
            catch (Exception e)
            {

                Growl.Error($"保存配置失败!{e.Message}");
            }
        }

        [ObservableProperty]
        private string? systemInformation =
        "天线远场测试系统标准版V1.0\n" +
        "Copyright © 2023 航天长屏科技有限公司, All Rights Reserved\n" +
        "航天长屏科技有限公司 测控软件团队开发\n\n" +
        "更新日志：列出软件的更新历史和版本更改信息，包括修复的问题、新增的功能和改进等内容，以便用户了解软件的演进和改进\n" +
        "使用许可协议：展示软件的使用许可协议，包括许可类型、使用条款和条件等，以便用户了解软件的使用限制和法律要求\n" +
        "第三方组件和开源许可：如果软件使用了第三方组件或开源软件，应提供相关的信息和开源许可证，以便用户了解软件的依赖项和相关许可\n" +
        "免责声明：在必要时，提供免责声明，概述软件的使用风险和责任限制，以确保用户了解软件的使用风险和责任分担\n" +
        "帮助和支持：empchina@empchina.cn";

    }
}
